home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / CRESC / Variations / gen-collect < prev    next >
Lisp/Scheme  |  1996-03-26  |  1KB  |  29 lines

  1. gen-collect seed number-of-times how function-expression
  2.  
  3. Use this function to collect a sequence of generations or processing operations that 
  4. allow for a random operation to control the output. 
  5.  
  6. (setq mel
  7.       (gen-collect 0.5 3 :list 
  8.                 '(vector-to-symbol a l
  9.                   (gen-noise-white (get-random 10 30)))))
  10.  
  11. In the example above, three generations of white noise are created and collected into
  12. a nested list. The function get-random randomizes the number of values generated. 
  13. The absence of a seed in the function expression ensures three different generations.
  14.  
  15. The how parameter offers the composer the choice of listing generations in a nested 
  16. list, :list, or appending, :append, generations in a single list.
  17.  
  18. IMPORTANT - Note that the function expression is quoted. This is to ensure that 
  19. the seed can be initialized properly.
  20.  
  21. To create dynamics to match symbol generation you could do the following:
  22.  
  23. (setq vel
  24.       (gen-collect 0.5 3 :list 
  25.                 '(vector-to-list 
  26.                   (vector-round 32 80 
  27.                      (gen-noise-white (get-random 5 25) 0.4)))))
  28.  
  29.